6.1CPU的功能和基本结构

6.1.1.CPU的功能

  1. 指令控制 完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
  2. 操作控制: 一条指令的功能往往由若干操作信号的组合来实现。CPU管理并产生由内存
    取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指
    令的要求进行动作。
  3. 时间控制: 对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有
    的控制信号。
  4. 数据加工: 对数据进行算术和逻辑运算。
  5. 中断处理: 对计算机运行过程中出现的异常情况和特殊请求进行处理

运算器 : 对数据进行加工
控制器 : 协调并控制计算机各部件执行程序的指令序列,基本功能包括取指令、分析指令、执行指令

取指令:自动形成指令地址;自动发出取指令的命令。

分析指令:操作码译码 (分析本条指令要完成什么操作):产生操作数的有效地址。

执行指令:根据分析指令得到的“操作命令”和“操作数地址”,形成操作信号控制序列,控制运算器、存储器以及I /O设备完成相应的操作。

6.1.2.CPU的基本结构

1.运算器

运算器接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理。

运算器是计算机对数据进行加工处理的中心,

它主要由算术逻辑单元(ALU)、暂存寄存器、累加寄存器(ACC)、通用寄存器组、程序状态字寄存器(PSW)、移位器、计数器(CT)等组成。

  1. 算术逻辑单元。主要功能是进行算术/逻辑运算。
  2. 暂存寄存器。用于暂存从主存读来的数据,该数据不能存放在通用寄存器中,否则会破坏其原有内容。暂存寄存器对应用程序员是透明的。
  3. 累加寄存器。它是一个通用寄存器,用于暂时存放ALU运算的结果信息,可以作为加
    法运算的一个输入端。
  4. 通用寄存器组。如AX、BX、CX、DX、SP等,用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。SP是堆栈指针,用于指示栈顶的地址。
  5. 程序状态字寄存器。保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,如溢出标志(OF)、符号标志(SF)、零标志(ZF)、进位标志(CF)等。PSW中的这些位参与并决定微操作的形成。
  6. 移位器。对操作数或运算结果进行移位运算。
  7. 计数器。控制乘除运算的操作步数。

2.控制器

控制器是整个系统的指挥中枢,在控制器的控制下,运算器、存储器和输入/输出设备等功能部件构成一个有机的整体,根据指令的要求指挥全机协调工作。控制器的基本功能是执行指令,每条指令的执行是由控制器发出的一组微操作实现的。
控制器有硬布线控制器和微程序控制器两种类型(见5.4节)。
控制器由程序计数器(PC)、指令寄存器®、指令译码器、存储器地址寄存器
(MAR)、存储器数据寄存器(MDR)、时序系统和微操作信号发生器等组成。

  1. 程序计数器。用于指出下一条指令在主存中的存放地址。CPU根据PC的内容去主存中
    取指令。因程序中指令(通常)是顺序执行的,所以P℃有自增功能。
  2. 指令寄存器。用于保存当前正在执行的那条指令。
  3. 指令译码器。仅对操作码字段进行译码,向控制器提供特定的操作信号。
  4. 存储器地址寄存器。用于存放要访问的主存单元的地址。
  5. 存储器数据寄存器。用于存放向主存写入的信息或从主存读出的信息。
  6. 时序系统。用于产生各种时序信号,它们都由统一时钟(CLOCK)分频得到。
  7. 微操作信号发生器。根据R的内容(指令)、PSW的内容(状态信息)及时序信号,产生控制整个计算机系统所需的各种控制信号,其结构有组合逻辑型和存储逻辑型两种。

控制器的工作原理是,根据指令操作码、指令的执行步骤(微命令序列)和条件信号来形
成当前计算机各部件要用到的控制信号。计算机整机各硬件系统在这些控制信号的控制下协同
运行,产生预期的执行结果。

注意:CPU内部寄存器大致可分为两类:一类是用户可见的寄存器,可对这类寄存器编
程,如通用寄存器组、程序状态字寄存器;另一类是用户不可见的寄存器,对用户是透明的,
不可对这类寄存器编程,如存储器地址寄存器、存储器数据寄存器、指令寄存器。